package com.easy.hutool;


import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.db.Db;
import cn.hutool.db.Entity;
import cn.hutool.extra.qrcode.QrCodeUtil;
import com.easy.mybatis_plus.dao.UserInfoDao;
import com.easy.mybatis_plus.entity.UserInfo;
import com.easy.mybatis_plus.service.UserInfoService;
import com.easy.util.Util;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.awt.image.BufferedImage;
import java.lang.reflect.Method;
import java.sql.SQLException;


/**
 * @author wxk
 * @Description: TODO 测试反射机制调用
 * @date 2021/7/6
 */
@RestController
public class ReflectTest {


//    @GetMapping("test")
//    public BufferedImage test() {
//        /*二维码生成*/
//        BufferedImage object = QrCodeUtil.generate("https://hutool.cn/", 300, 300);
//        return object;
//    }

    /**
     * 数字工具-NumberUtil
     * https://hutool.cn/docs/#/core/%E5%B7%A5%E5%85%B7%E7%B1%BB/%E6%95%B0%E5%AD%97%E5%B7%A5%E5%85%B7-NumberUtil
     */
    public static void main(String[] args) throws SQLException {
        Method method = ReflectUtil.getMethod(Util.class, "getStr");
        System.out.println(method);
        System.out.println(method.getName());
        int[] arr = NumberUtil.generateRandomNumber(0, 9, 9);
        System.out.println("随机数组:" + arr);
        System.out.println("随机数第一个:" + arr[0]);

        /*数组判断*/
        int[] a = {1, 2};
        int[] b = null;
        int[] c = {};
        System.out.println("数组判断a:" + ArrayUtil.isEmpty(a));
        System.out.println("数组判断b:" + ArrayUtil.isEmpty(b));
        System.out.println("数组判断c:" + c == null);

        /*随机数*/
        String str = RandomUtil.randomNumbers(10);
        System.out.println("指定范围随机数：" + str);

        /*数据库简单操作*/
//        Db.use().insert(Entity.create("user_info").set("name", "测试新方法添加数据").set("age", 20).set("email", "2222@qq.com")
//                .set("manager_id", 222));

        /*二维码生成*/
        QrCodeUtil.generate("https://hutool.cn/", 300, 300, FileUtil.file("d:/qrcode.jpg"));
    }
}
